"""
营销 - 商户额度信息模型
"""

from typing import Dict, Any
from jlpay.model.base import BaseResponse


class MerchantQuotaInfo:
    """商户额度信息"""
    
    def __init__(self):
        """初始化商户额度信息"""
        self.sort_value = None  # 计费类型数组字符串
        self.update_total = None  # 最新的额度值，单位分
    
    def set_sort_value(self, sort_value: str):
        """
        设置计费类型数组字符串
        
        Args:
            sort_value: 计费类型数组字符串，需要和活动配置的计费类型规则完全一致
            示例值：["01","02"]
            
        Returns:
            MerchantQuotaInfo实例
        """
        self.sort_value = sort_value
        return self
    
    def set_update_total(self, update_total: str):
        """
        设置最新的额度值
        
        Args:
            update_total: 最新的额度值，单位分
            商户额度只能高于活动配置的额度，不能低于活动配置的额度
            示例值：1001
            
        Returns:
            MerchantQuotaInfo实例
        """
        self.update_total = update_total
        return self
    
    def to_dict(self) -> Dict[str, Any]:
        """
        将对象转换为字典
        
        Returns:
            字典对象
        """
        return {k: v for k, v in self.__dict__.items() if v is not None} 